package com.example.eventlistener.event;

import com.example.eventlistener.bean.User;
import org.springframework.context.ApplicationEvent;

/**
 * 定义所需的异步事件, 继承ApplicationEvent
 * 将被观察的对象作为私有成员, 完成构造方法
 * 事件触发时会创建该事件的实例, 将业务数据传递进来
 * 而监听方则会被加入到该实例的监听者列表中, 依次调用Listener的方法处理该事件
 */
public class UserEvent extends ApplicationEvent {
    private final User user;
    public UserEvent(Object source, User user) {
        super(source);
        this.user = user;
    }

    public User getUser() {
        return user;
    }
}
